package com.ruoyi.applet.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @描述:
 * @Author: TangYuan
 * @Date: 2025/1/3 14:19
 */
public class OrdOrderApplet extends PageInfo implements Serializable {
    
    private static final long serialVersionUID = 1L;
    
    /** 订单id */
    private Long id;
    
    /** 用户id */
    @Excel(name = "用户id")
    private Long wxUserId;
    
    /** 收货人姓名 */
    @Excel(name = "收货人姓名")
    private String consigneeName;
    
    /** 收货人电话 */
    @Excel(name = "收货人电话")
    private String consigneePhone;
    
    /** 收货地址 */
    @Excel(name = "收货地址")
    private String consigneeRegion;
    
    /** 详细地址 */
    @Excel(name = "详细地址")
    private String consigneeAddress;
    
    /** 总金额 */
    @Excel(name = "总金额")
    private BigDecimal totalAmount;
    
    /** 优惠金额 */
    @Excel(name = "优惠金额")
    private BigDecimal discountAmount;
    
    /** 应付金额 */
    @Excel(name = "应付金额")
    private BigDecimal payableAmount;
    
    /** 支付方式 */
    @Excel(name = "支付方式")
    private String paymentMethod;
    
    /** 支付时间 */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Excel(name = "支付时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date paymentTime;
    
    /** 支付完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Excel(name = "支付完成时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date paymentCompletedTime;
    
    /** 发货时间 */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Excel(name = "发货时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date shippingTime;
    
    /** 收货时间 */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Excel(name = "收货时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date deliveryTime;
    
    /** 订单状态（1-待支付，2-已支付，3-已发货，4-已完成，5-已取消） */
    @Excel(name = "订单状态", readConverterExp = "1=-待支付，2-已支付，3-已发货，4-已完成，5-已取消")
    private Integer orderStatus;
    
    /** 取消原因 */
    @Excel(name = "取消原因")
    private String cancelReason;
    
    /** 退款状态（1-未退款，2-部分退款，3-全额退款） */
    @Excel(name = "退款状态", readConverterExp = "1=-未退款，2-部分退款，3-全额退款")
    private Integer refundStatus;
    
    /** 删除标记（0正常，1删除） */
    private Integer delFlag;
    
    
    public Long getId() {
        return id;
    }
    
    public void setId(Long id) {
        this.id = id;
    }
    
    public Long getWxUserId() {
        return wxUserId;
    }
    
    public void setWxUserId(Long wxUserId) {
        this.wxUserId = wxUserId;
    }
    
    public String getConsigneeName() {
        return consigneeName;
    }
    
    public void setConsigneeName(String consigneeName) {
        this.consigneeName = consigneeName;
    }
    
    public String getConsigneePhone() {
        return consigneePhone;
    }
    
    public void setConsigneePhone(String consigneePhone) {
        this.consigneePhone = consigneePhone;
    }
    
    public String getConsigneeRegion() {
        return consigneeRegion;
    }
    
    public void setConsigneeRegion(String consigneeRegion) {
        this.consigneeRegion = consigneeRegion;
    }
    
    public String getConsigneeAddress() {
        return consigneeAddress;
    }
    
    public void setConsigneeAddress(String consigneeAddress) {
        this.consigneeAddress = consigneeAddress;
    }
    
    public BigDecimal getTotalAmount() {
        return totalAmount;
    }
    
    public void setTotalAmount(BigDecimal totalAmount) {
        this.totalAmount = totalAmount;
    }
    
    public BigDecimal getDiscountAmount() {
        return discountAmount;
    }
    
    public void setDiscountAmount(BigDecimal discountAmount) {
        this.discountAmount = discountAmount;
    }
    
    public BigDecimal getPayableAmount() {
        return payableAmount;
    }
    
    public void setPayableAmount(BigDecimal payableAmount) {
        this.payableAmount = payableAmount;
    }
    
    public String getPaymentMethod() {
        return paymentMethod;
    }
    
    public void setPaymentMethod(String paymentMethod) {
        this.paymentMethod = paymentMethod;
    }
    
    public Date getPaymentTime() {
        return paymentTime;
    }
    
    public void setPaymentTime(Date paymentTime) {
        this.paymentTime = paymentTime;
    }
    
    public Date getPaymentCompletedTime() {
        return paymentCompletedTime;
    }
    
    public void setPaymentCompletedTime(Date paymentCompletedTime) {
        this.paymentCompletedTime = paymentCompletedTime;
    }
    
    public Date getShippingTime() {
        return shippingTime;
    }
    
    public void setShippingTime(Date shippingTime) {
        this.shippingTime = shippingTime;
    }
    
    public Date getDeliveryTime() {
        return deliveryTime;
    }
    
    public void setDeliveryTime(Date deliveryTime) {
        this.deliveryTime = deliveryTime;
    }
    
    public Integer getOrderStatus() {
        return orderStatus;
    }
    
    public void setOrderStatus(Integer orderStatus) {
        this.orderStatus = orderStatus;
    }
    
    public String getCancelReason() {
        return cancelReason;
    }
    
    public void setCancelReason(String cancelReason) {
        this.cancelReason = cancelReason;
    }
    
    public Integer getRefundStatus() {
        return refundStatus;
    }
    
    public void setRefundStatus(Integer refundStatus) {
        this.refundStatus = refundStatus;
    }
    
    public Integer getDelFlag() {
        return delFlag;
    }
    
    public void setDelFlag(Integer delFlag) {
        this.delFlag = delFlag;
    }
}
